package com.ruoyi.binance.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 模拟交易配置对象 binance_simulate_conf
 * 
 * @author zq
 * @date 2025-09-22
 */
public class BinanceSimulateConf extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 代码 */
    @Excel(name = "代码")
    private String code;

    /** USDT数量 */
    @Excel(name = "USDT数量")
    private BigDecimal usdtNumber;

    /** 代币数量 */
    @Excel(name = "代币数量")
    private BigDecimal coinNumber;

    /** 操作方向 */
    @Excel(name = "操作方向")
    private String side;

    /** 监控类型 */
    @Excel(name = "监控类型")
    private String monitoringType;

    /** 成本 */
    @Excel(name = "成本")
    private BigDecimal costPrice;

    /** 利润 */
    @Excel(name = "利润")
    private BigDecimal usdtProfit;

    /** 开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;

    /** 结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setCode(String code) 
    {
        this.code = code;
    }

    public String getCode() 
    {
        return code;
    }

    public void setUsdtNumber(BigDecimal usdtNumber) 
    {
        this.usdtNumber = usdtNumber;
    }

    public BigDecimal getUsdtNumber() 
    {
        return usdtNumber;
    }

    public void setCoinNumber(BigDecimal coinNumber) 
    {
        this.coinNumber = coinNumber;
    }

    public BigDecimal getCoinNumber() 
    {
        return coinNumber;
    }

    public void setSide(String side) 
    {
        this.side = side;
    }

    public String getSide() 
    {
        return side;
    }

    public void setMonitoringType(String monitoringType) 
    {
        this.monitoringType = monitoringType;
    }

    public String getMonitoringType() 
    {
        return monitoringType;
    }

    public void setCostPrice(BigDecimal costPrice) 
    {
        this.costPrice = costPrice;
    }

    public BigDecimal getCostPrice() 
    {
        return costPrice;
    }

    public void setUsdtProfit(BigDecimal usdtProfit) 
    {
        this.usdtProfit = usdtProfit;
    }

    public BigDecimal getUsdtProfit() 
    {
        return usdtProfit;
    }

    public void setStartTime(Date startTime) 
    {
        this.startTime = startTime;
    }

    public Date getStartTime() 
    {
        return startTime;
    }

    public void setEndTime(Date endTime) 
    {
        this.endTime = endTime;
    }

    public Date getEndTime() 
    {
        return endTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("code", getCode())
            .append("usdtNumber", getUsdtNumber())
            .append("coinNumber", getCoinNumber())
            .append("side", getSide())
            .append("monitoringType", getMonitoringType())
            .append("costPrice", getCostPrice())
            .append("usdtProfit", getUsdtProfit())
            .append("startTime", getStartTime())
            .append("endTime", getEndTime())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
